# python的字符，实质是一个有序的字符序列。
# 1.获取字符串长度：（长度->字符串中字符的个数）
# len是获取序列长度的内置函数
count = len('asd\n123')   #(转义字符算整体)
print(count)

# 2.通过下标获取字符串中的某一个字符
# 字符串中每个字符都对应一个下标（索引），我们可以通过索引值去获取固定的字符
# 'abc' --> a:0, b:1, c：2

str1 = 'abc'
print(str1[0])  # a
print(str1[2])  # c


str2 = "y\np"
print(str2[2])  # (转义字符是一个字符)
# 获取字符的时候，索引值不能超过索引的范围，否则会报IndexError

# 下标的范围：0 ~ 字符串长度-1 
# print(str1[3])   # IndexError: string index out of range
print(str1[-1])    # 获取字符串str1中的最后的字符
print(str1[-2])	   # 获取字符串str1中的倒数第二个字符


# 3切片.获取字符传中的部分字符：
'''
字符串[开始下标：结束下标]  --> 获取字符串中从开始下标到结束下标的字符（包含开始下标对应的字符），不包含结束下标对应的字符
要求：开始下标对应的字符，要在结束下标对应的字符前面

'''
      # 0123456789
str3 = 'hello Python'
print(str3[6:12])		# Python
print(str3[-6:12])		# Python

# b.开始下标省略：从字符串的最前面取到结束下标前
print(str3[:4])

# c.结束下标省略：从开始位置获取到字符串结束
print(str3[4:])

# e.两个都省略：获取字符串的内容
print(str3[:])

# f.每两个取一个
print(str3[::2])    #hloPto 0,0+2 

#(了解) 当步进是负数的时候，开始下标和结束下标的性质相反
print(str3[3::-1])  # 3 3-1=2 1 0 
print(str3[::-1])	# 字符串倒序


